<?

//header( "Access-Control-Allow-Origin: *" );


// クラスの読み込み
require_once("./file_control_class.php");
$fc = new FileControl();


if($_GET['fxdomain'] == "true") {

	$file_name = "./crossdomain.xml";

	// ヘッダー情報
	header("HTTP/1.1 200 OK");
	header("X-Permitted-Cross-Domain-Policies: all");
	header("Content-Type: application/xml; Charset=utf-8");

	// crossdomain.xml の認証取得
	print(file_get_contents($file_name));

	exit();
}


//if($_POST['file_open_flg'] == false or $_GET['file_open_flg'] == false) {
if(!(($_GET['file_open_flg'] == "true") or ($_POST['file_open_flg'] == "true"))) {

	//header( "Content-Type: text/html; Charset=utf-8" );

	//require_once("./FileControl.php");
	// XMLで出力
	header( "Content-Type: application/xml; Charset=utf-8" );

	print "<?xml version=\"1.0\" encoding=\"utf-8\"?>";


	if(count($_GET) > count($_POST)){

		// GETで取得
		$arr = $fc->file_view($_GET['dir']);
	} else {

		// POSTで取得
		$arr = $fc->file_view($_POST['dir']);
	}


//	if($_GET['xml']) {

	print "<data>";

	//print json_encode($arr);
	for($i = 0; $i<count($arr); $i++){

	 	print "<row>";

		foreach($arr[$i] as $key => $val){

//			print $key . ":" . $val . "\n";
			print "<$key>";
			print $val;
			print "</$key>";


		}
 		print "</row>";

	}

	print "</data>";

/*

	} else {
		header( "Content-Type: text/html; Charset=utf-8" );
	}
*/


	/*
	print "<pre>";
	print_r($arr);
	print "</pre>";
	*/

	$fc=NULL;

} else {



	if(!(($_GET['file_save_flg'] == "true") or ($_POST['file_save_flg'] == "true"))) {


	//	header( "Content-Type: text/html; Charset=utf-8" );
		header( "Content-Type: text/plain; Charset=utf-8" );


		if(count($_GET) > count($_POST)){

			if($_GET['xdomain'] == "true") {

				// XMLからアクセス許可一覧を取得
				$arr = $fc->get_allow_domain("./crossdomain.xml");

				$str_url = "";
				foreach($arr as $val) {

					// アクセス許可URL作成
					if(substr($val, 0, 1) == "*") {

						// ドメインが *.domainname の形式になっている
						if(substr($val, 1, 1) == ".") {
							// "*." を切り取る
							$val = substr($val, 2);

							// アクセス元アドレスから登録された曖昧ドメインを検索
							// ※ ドメインの曖昧処理
							if(strpos($_SERVER["HTTP_ORIGIN"], $val)) {
								$str_url = $_SERVER["HTTP_ORIGIN"];
								break;
							}
						} else {
							// アクセス許可一覧からアスタリスクが見つかった場合全ドメインを許可する
							$str_url = "*";
							break;
						}
					}

					// アクセス許可URLを作成
					$str_url = "http://" . $val;

					// アクセス元アドレスが登録された許可と一致するか調べる
					if(strtolower($_SERVER["HTTP_ORIGIN"]) == $str_url)
						break;

					// URLを初期化
					$str_url = "";
				}

				if($str_url !== "") {
					// アクセス許可を発行する
					header( "Access-Control-Allow-Origin: " . $str_url );
				}

			}

			switch($_GET['mime']) {
				case "txt":
					header( "Content-Type: text/plain; Charset=utf-8" );
					break;
				case "css":
					header( "Content-Type: text/css; Charset=utf-8" );
					break;
				case "js":
					header( "Content-Type: text/javascript; Charset=utf-8" );
					break;
				case "php":
					header( "Content-Type: text/html; Charset=utf-8" );
					break;
				case "html":
					header( "Content-Type: text/html; Charset=utf-8" );
					break;
				case "csv":
					header( "Content-Type: text/css; Charset=utf-8" );
					break;
			}

			// GETで取得
			print $fc->file_read($_GET['dir']);
		} else {
	
			// POSTで取得
			print $fc->file_read($_POST['dir']);
		}
	} else {
		// ファイルを保存する

		// XMLで出力
		header( "Content-Type: application/xml; Charset=utf-8" );
	
		print "<?xml version=\"1.0\" encoding=\"utf-8\"?>";


		if(count($_GET) > count($_POST)){
	
			$str = $_GET['str'];

			// GETで取得
			print "<data>";
			print $fc->text_edit("." . $_GET['dir'], $str);
			print "</data>";

		} else {

			$str = $_POST['str'];

			// POSTで取得
			print "<data>";
			print $fc->text_edit("." . $_POST['dir'], $str);
			print "</data>";
		}
	}
/*
print "php_code:";
print_r($_POST);
*/
}



?>